package es.qb.deportivos.il.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "JUGADORES_EQUIPO")
public class JugadoresEquipo extends BaseDomainObject implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5726361415603495717L;

	/**
	 * Id Jugador Equipo
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "JUGADORES_EQUIPO_ID")
	private Integer id;

	/**
	 * Equipo.
	 */
	@ManyToOne
	@JoinColumn(name = "EQUIPO_ID", nullable = false)
	private Equipo equipo = new Equipo();

	/**
	 * Jugador.
	 */
	@ManyToOne
	@JoinColumn(name = "JUGADOR_ID", nullable = false)
	private Jugador jugador = new Jugador();

	/**
	 * Goles.
	 */
	@Column(name = "GOLES")
	private Integer goles;

	/**
	 * Puntuacion.
	 */
	@Transient
	private Double valoracion;

	/**
	 * Votos.
	 */
	@Transient
	private Integer votos;

	/**
	 * Puntuacion.
	 */
	@Transient
	private Integer puntos;

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the equipo
	 */
	public Equipo getEquipo() {
		return equipo;
	}

	/**
	 * @param equipo
	 *            the equipo to set
	 */
	public void setEquipo(Equipo equipo) {
		this.equipo = equipo;
	}

	/**
	 * @return the jugador
	 */
	public Jugador getJugador() {
		return jugador;
	}

	/**
	 * @param jugador
	 *            the jugador to set
	 */
	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

	/**
	 * @return the goles
	 */
	public Integer getGoles() {
		return goles;
	}

	/**
	 * @param goles
	 *            the goles to set
	 */
	public void setGoles(Integer goles) {
		this.goles = goles;
	}

	/**
	 * @return the puntos
	 */
	public Integer getPuntos() {
		return puntos;
	}

	/**
	 * @param puntos
	 *            the puntos to set
	 */
	public void setPuntos(Integer puntos) {
		this.puntos = puntos;
	}

	/**
	 * @return the valoracion
	 */
	public Double getValoracion() {
		return valoracion;
	}

	/**
	 * @param valoracion
	 *            the valoracion to set
	 */
	public void setValoracion(Double valoracion) {
		this.valoracion = valoracion;
	}

	/**
	 * @return the votos
	 */
	public Integer getVotos() {
		return votos;
	}

	/**
	 * @param votos
	 *            the votos to set
	 */
	public void setVotos(Integer votos) {
		this.votos = votos;
	}

}
